package com.ruoyi.disasterassessment.service;

import java.util.List;

import com.github.pagehelper.PageInfo;
import com.ruoyi.disasterassessment.domain.DisasterEvaluatingReport;
import com.ruoyi.disasterassessment.dto.ContentDto;
import com.ruoyi.disasterassessment.dto.DisasterEvaluatingReportDto;
import com.ruoyi.disasterassessment.vo.DisasterEvaluatingReportVo;
import com.ruoyi.disasterassessment.vo.ReportAllVo;

/**
 * 灾害评估报告Service接口
 * 
 * @author hcc
 * @date 2023-12-20
 */
public interface IDisasterEvaluatingReportService 
{
    /**
     * 查询灾害评估报告
     * 
     * @param id 灾害评估报告主键
     * @return 灾害评估报告
     */
    public DisasterEvaluatingReport selectDisasterEvaluatingReportById(Long id);

    /**
     * 查询灾害评估报告列表
     * 
     * @param disasterEvaluatingReport 灾害评估报告
     * @return 灾害评估报告集合
     */
    public List<DisasterEvaluatingReport> selectDisasterEvaluatingReportList(DisasterEvaluatingReport disasterEvaluatingReport);

    /**
     * 新增灾害评估报告
     * 
     * @param disasterEvaluatingReport 灾害评估报告
     * @return 结果
     */
    public int insertDisasterEvaluatingReport(DisasterEvaluatingReport disasterEvaluatingReport);

    /**
     * 修改灾害评估报告
     * 
     * @param disasterEvaluatingReport 灾害评估报告
     * @return 结果
     */
    public int updateDisasterEvaluatingReport(DisasterEvaluatingReport disasterEvaluatingReport);

    /**
     * 批量删除灾害评估报告
     * 
     * @param ids 需要删除的灾害评估报告主键集合
     * @return 结果
     */
    public int deleteDisasterEvaluatingReportByIds(Long[] ids);

    /**
     * 删除灾害评估报告信息
     * 
     * @param id 灾害评估报告主键
     * @return 结果
     */
    public int deleteDisasterEvaluatingReportById(Long id);

    /**
     * 查询灾害评估报告列表
     * @param vo
     * @return
     */
    List<DisasterEvaluatingReportDto> getDisasterEvaluatingReportList(DisasterEvaluatingReportVo vo);

    /**
     * 获取灾害评估报告详细内容
     * @param id
     * @return
     */
    List<ContentDto> getLoadById(Long id);

    /**
     * 查询灾害评估报告reportAll
     * @param vo
     * @return
     */
    List<List<ContentDto>> getReportAll(ReportAllVo vo);

    /**
     * 查询灾害评估报告通过faceId
     * @param faceId
     * @return
     */
    List<DisasterEvaluatingReportDto> getListByFaceId(String faceId);

    /**
     * 查询当天灾害评估报告列表
     * @param vo
     * @return
     */
    List<DisasterEvaluatingReportDto> getListByNew(DisasterEvaluatingReportVo vo);
}
